/*
 *  float3.h
 *  GLRenderer
 *
 *  Created by Tim Uusitalo on 9/20/10.
 *  Copyright 2010 __MyCompanyName__. All rights reserved.
 *
 */

#ifndef FLOAT3_H
#define FLOAT3_H

namespace devii
{
	
class float3
{
public:
	float3();
	~float3();
	float3(const float & x, const float & y, const float & z);
	
	float3 &	operator=	( const float3  & vec );
	float3 &	operator+=	( const  float3 & vec );
	float3 &	operator+=	( const  float	 &	f  );
	float3 &	operator-=	( const  float3 & vec );
	float3 &	operator-=	( const  float	 &	f  );
	float3 &	operator*=	( const  float3 & vec );
	float3 &	operator*=	( const  float	 &	f  );
	float3 &	operator/=	( const  float3 & vec );
	float3 &	operator/=	( const  float	 &	f  ); 
	
	float3		operator+	( const  float3 & vec ) const;
	float3		operator+	( const	 float	 &	f  ) const;
	float3		operator-	( const  float3 & vec ) const;
	float3		operator-	( const  float	 &	f  ) const;
	float3		operator*	( const  float3 & vec ) const;
	float3		operator*	( const  float	 &	f  ) const;
	float3		operator/	( const  float3 & vec ) const;
	float3		operator/	( const  float	 &	f  ) const;
	
	
public:
	float x;
	float y;
	float z;
};

}

#endif